Method, apparatus and system for authentication of external storage devices

ABSTRACT

A method for authentication of an external storage device ( 16 ) operatively connected to a port of a host computer ( 10 ) where the host computer ( 10 ) conducts a handshake with the external storage device ( 16 ) seeking an authentication key from the external storage device. The host computer ( 10 ) electrically disconnects the external storage device ( 16 ) from the host computer ( 10 ) if the authentication key is incorrect or not provided within a predetermined period. The host computer ( 10 ) allows access to the host computer ( 10 ) by the external storage device ( 16 ) if the authentication key is correct and provided within the predetermined period. Corresponding apparatus and systems are also disclosed.

CROSS-REFERENCE TO OTHER APPLICATIONS

This is a National Phase of International Application No.PCT/SG2006/000296 filed on Oct. 4, 2006.

FIELD OF THE INVENTION

This invention relates to a method, apparatus and system forauthentication of external storage devices and relates particularly,though not exclusively, to such a method apparatus and system forpreventing unauthorized use of external storage devices with a hostcomputer.

BACKGROUND TO THE INVENTION

There is many external storage devices on the market. These includeoptical-based storage devices such as hard disk drives, and flash-basedstorage devices including USB flash drives. Various standard interfacesmay be used to connect them to a host computer including, but notlimited to, USB, Firewire, and PCMCIA. There are also proprietaryinterface such as, for example, the “Memory Stick” interface, SD cardinterface, and so forth.

As the download rate may be quite high, and the storage device formfactor becomes quite small a significant security and confidentialitythreat is raised for companies. The threats include the unauthorizedcopying of sensitive or confidential information, and the uploading ofmalicious or malignant applications including viruses, and so forth. Forexample, an employee of a company can easily carry a small USB flashdrive that is hidden from view. It can be inserted into a USB port onany company computer to download and save a copy of sensitive orconfidential data; and/or to upload a virus thereby bypassing all virusfilters. There is no way the company can control the situation unlessthey block all external interfaces, physically close all externalinterfaces, or deny users the ability to download data from or uploaddata to the company computer system. By doing so significant limitationswill be created for those who are authorized to perform such acts.

SUMMARY OF THE INVENTION

According to a preferred aspect there is provided a method forauthentication of an external storage device operatively connected to aport of a host computer, the method comprising: the host computerconducting a handshake with the external storage device seeking anauthentication key from the external storage device; electricallydisconnecting the external storage device from the host computer if theauthentication key is at least one selected from the group consistingof: incorrect, and not provided within a predetermined period; andallowing access to the host computer by the external storage device ifthe authentication key is correct and provided within the predeterminedperiod.

According to a second preferred aspect there is provided an externalstorage device able to be operatively connected to a port of a hostcomputer by use of a connector of the external storage device, theexternal storage device comprising an authentication module configuredto communicate with an authentication application of the host computer;the authentication module being configured to comprise an authenticationkey for sending to the authentication application for authentication ofthe external storage device.

According to a third preferred aspect there is provided a system forauthentication of an external storage device operatively connected to aport of a host computer by use of a connector of the external storagedevice, the external storage device comprising an authentication moduleto communicate with an authentication application of the host computer;the authentication module comprising an authentication key for sendingto the authentication application for authentication of the externalstorage device.

For all aspects, correct authentication keys may be maintained in alookup table. The lookup table may be maintained in one of: the hostcomputer, and a server of a network to which the host computer isconnected. The authentication key may be restricted by at least one of:a particular user, a particular host computer, a particular terminal ofa network to which the host computer is connected. The particular usermay be determined by user login code, the particular host computer maybe determined by host computer identity, and the particular terminal ofthe network may be determined by network terminal identity. The userlogin code, the host computer identity, and the network terminalidentity may be stored in the lookup table.

Access to the host computer may be restricted to certain applications orcertain data of the host computer, the restrictions being maintained inthe lookup table. Access to the network may be restricted to certainapplications or certain data, the restrictions being maintained in thelookup table.

The authentication key may be allocated to an external storage devicethat does not have the authentication key by querying if theauthentication key is required and, upon a positive response within thepredetermined period, checking the external storage device and, if theexternal storage device is clear, allocating the authentication key tothe external storage device. Checking of the external storage device mayinclude at least one of: external storage device identity, useridentity, host computer identity, network terminal identity, and scansfor viruses or other malignant applications or data.

The authentication module may be downloaded to the external storagedevice before the authentication key is sent to the external storagedevice.

The external storage device may be electrically disconnected from thehost computer if the response is negative or if the response is notprovided within the predetermined period.

BRIEF DESCRIPTION OF THE DRAWINGS

In order than the invention may be fully understood and readily put intopractical effect there shall now be described by way of non-limitativeexample only preferred embodiments of the present invention, thedescription being with reference to the accompanying illustrativedrawings.

In the drawings:

FIG. 1 is a perspective view of an embodiment of an external storagedevice about to be used with an embodiment of a host computer;

FIG. 2 is a block diagram of the external storage device of FIG. 1;

FIG. 3 is a partial block diagram of the host computer of FIG. 1;

FIG. 4 is a flow chart of an embodiment; and

FIG. 5 is a flow chart of another embodiment.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

To first refer to FIG. 1 there is shown a computer 10 connected to a LAN12. The computer 10 has a number of ports 14 for connection of anexternal storage device such as the USB flash memory storage device 16.By use of the external storage device 16 data may be downloaded from thecomputer 10 and/or the network 12, and/or data may be uploaded to thecomputer 10 and/or network 12. As shown, the external storage device 16has a connector 18 which, in this case, is a USB connector. However, itmay be any suitable connector able to operatively mate with one or moreof the ports 14.

In FIG. 2 the external storage device 16 is shown in more detail. Thedevice 16 has a connector interface 20 as well as storage 22. Thestorage may be a hard disc, flash memory, or otherwise as required ordesired. The storage 22 is controlled by a storage controller 26. Amicroprocessor 24 controls the overall operation of the device 24. Anauthentication module 28 is for authentication of the device 16. Theauthentication module 28 may be firmware, may be included in themicroprocessor 24, or may be in a processor separate from themicroprocessor 24.

The computer 10 includes a controller 30 that includes an authenticationapplication 32 that is able to communicate with the authenticationmodule 28 when connector 18 is operatively engaged in a port 14. Theapplication 32 will block access to any of the systems of the computer10 and/or network 12 by any external storage device 16 that isoperatively connected to any one of the ports 14 and that is notauthenticated; but will allow access any of the systems of the computer10 and/or network 12 by any external storage device 16 that isoperatively connected to any one of the ports 14 and that isauthenticated. Authentication may be limited to particular individualsby login codes and/or particular computers by the computer identifier.

Upon operative connection of the device 16 to the computer 10,authentication may be by a number of different methods. The device 16may have previously been authenticated in which case the process of FIG.4 is followed. An alternative is for the device 16 to be authenticatedwhen it is operatively connected to the computer 10, the authenticationbeing able to be relied upon for subsequent uses of the device 16. Thisis shown in FIG. 5.

Preferably, all initial authentications of devices 16, whether or notfor particular users and/or computers is by an administrator that hasthe functionality and ability to allow the devices 16 to functionallyinteract with the computer 10 and/or network 12; and to authenticatedevices 16 not issued by them but that are able to be authenticated. Forthe embodiment of FIG. 5, all subsequent authentications are by theprocess of FIG. 4. To refer to FIG. 4, the authentication application 32automatically starts when the computer 10 is booted (401). It runs inthe computer 10 isolated from user access except for the administratormentioned above. In this way a user cannot tamper with, interfere withor otherwise hinder or prevent the operation of the application 32. Thismay be in the same manner as other “secured” applications that normallyrun on the computer 10. The application 32 includes a monitoring module34 whereby it will monitor the ports 14 to detect when an externalstorage device 16 is connected to any one of the ports 14 (402). Thismay be done by, for example, regular polling of the ports 14 (403). Ifno insertion is detected (404), polling continues. When an insertion ofa device 16 into a port 14 is detected (405) the application 32 willthen try to establish an authentication handshake with the device 16 byperforming a challenge and response (406). If the device 16 was insertedinto the port 14 before the booting of the computer 10, the process willbe the same, and access to the systems of the computer 10 and/or network12 by the storage device 16 will be denied until authentication hastaken place.

During the authentication process (406) the application 32 calls for thedevice 16 to provide an authentication code or key. If an authenticationcode or key is provided by the authentication module 28 (407), theapplication 32 checks a lookup table of current authentication codes orkeys to determine if the authentication code or key is listed (408). Ifthere is a match (409), the device 16 may be given access to thecomputer 10 and/or the network 12 (410). The lookup table may includerestrictions (411). For example, the authentication key or code of thedevice 16 may be linked to a particular individual and/or computer 10.This can be checked by reference to the user login code, and theidentity of the computer 10 and/or the terminal of the network 12 towhich it is connected. Access may be limited to certain applicationsand/or data of the computer 10 and/or network 12. If there arerestrictions, the application 32 checks the lookup table to ensure theyare correct (412).

If the authentication module 28 is not able to respond correctly to theapplication 32 in the handshake procedure at (407), or if there is nomatch at (409), or if the restrictions are not correct at (412), theapplication 32 will immediately electrically disconnect, or isolate, thedevice 16 from the computer 10 to prevent the device 16 from havingaccess to any of the systems of the computer 10 (413) and/or network 12.However, the device 16 may still remain inserted in the port 14.

In the embodiment of FIG. 5, there may be authentication of the device16 during the authentication process. Here like reference numerals areused for like processes but the prefix number is changed from 4 to 5.

Again, the authentication application 32 automatically starts when thecomputer 10 is booted (501). It runs in the computer 10 isolated fromuser access except for the administrator mentioned above. In this way auser cannot tamper with, interfere with or otherwise hinder or preventthe operation of the application 32. This may be in the same manner asother “secured” applications that normally run on the computer 10. Theapplication 32 again includes the monitoring module 34 whereby it willmonitor the ports 14 to detect when an external storage device 16 isconnected to any one of the ports 14 (502). This may be done by, forexample, regular polling of the ports 14 (503). If no insertion isdetected (504), polling continues. When an insertion of a device 16 intoa port 14 is detected (505) the application 32 will then try toestablish an authentication handshake with the device 16 by performing achallenge and response (506). If the device 16 was inserted into theport 14 before the booting of the computer 10, the process will be thesame, and access to the systems of the computer 10 and/or network 12 bythe storage device 16 will be denied until authentication has takenplace.

During the authentication process (506) the application 32 calls for thedevice 16 to provide an authentication code or key. If an authenticationcode or key is provided by the authentication module 28 (507), theapplication 32 checks a lookup table of current authentication codes orkeys to determine if the authentication code or key is listed (508). Ifthere is a match (509), the device 16 may be given access to thecomputer 10 and/or the network 12 (510). The lookup table may includerestrictions (511). For example, the authentication key or code of thedevice 16 may be linked to a particular individual and/or computer 10.This can be checked by reference to the user login code, and theidentity of the computer 10 and/or the terminal of the network 12 towhich it is connected. Access may be limited to certain applicationsand/or data of the computer 10 and/or network 12. If there arerestrictions, the application 32 checks the lookup table to ensure theyare correct (512).

If the authentication module 28 is not able to respond correctly to theapplication 32 in the handshake procedure at (507) due to the device 16not having previously been authenticated, authentication may take placeby a query from the application 32 to the device 16 (517). This will bedisplayed on a monitor and will require user input. If there is noresponse within a predetermined period such as, for example, thirtyseconds, or if the response is in the negative, the application 32 willimmediately electrically disconnect, or isolate, the device 16 from thecomputer 10 to prevent the device 16 from having access to any of thesystems of the computer 10 (515) and/or network 12. However, the device16 may still remain inserted in the port 14.

If at 515 the response is within the predetermined period and ispositive, the application 32 checks the device 16. This may include oneor more of: device identity, user identity, computer identity, andnetwork terminal identity; and may include scans for viruses or othermalignant applications or data. If all are in order, the administratorcan allocate a key for the device 16 and record the key in the lookuptable. Any restrictions on the user and/or computer/terminal may becreated at this time and included in the lookup table. The necessarymodule 28 is then downloaded to the device 16, if not previouslydownloaded. The application then sends the key to the device 16 forstorage in the authentication module 28 or memory 22. Access to thecomputer 10 and/or network 12 is then granted within the scope of therestrictions created.

If there is no match at (509), or if the restrictions are not correct at(512), the application 32 will immediately electrically disconnect, orisolate, the device 16 from the computer 10 to prevent the device 16from having access to any of the systems of the computer 10 (513) and/ornetwork 12. However, the device 16 may still remain inserted in the port14.

The lookup table may be maintained in the host computer 10 and may bemaintained by the administrator. If the computer 10 is connected to thenetwork 12, the lookup table is preferably maintained in a server of thenetwork 12 and again is maintained by the administrator. However,application 32 will reside in the computer 10 whether or not it isconnected to the network 12.

Whilst there has been described in the foregoing description preferredembodiments of the present invention, it will be understood by thoseskilled in the technology concerned that many variations in details ofdesign, construction and/or operation may be made without departing fromthe present invention.

What is claimed is:
 1. A method to authenticate an external USB storagedevice connected to a port of a host computer on a network, the methodcomprising: the host computer conducting an authentication handshakewith the external USB storage device and during the authenticationhandshake the host computer seeks an authentication key from theexternal USB storage device, with correct authentication keys beingmaintained in a lookup table, the lookup table also includingrestrictions, the restrictions being for access to at least one of:applications, data, and network; electrically disconnecting the externalUSB storage device from the host computer if the authentication key isincorrect; allowing access to the host computer by the external USBstorage device if the authentication key is correct and provided withina first predetermined period; and when the authentication key is notprovided within the first predetermined period, allocating theauthentication key to the external USB storage device that does not havethe authentication key upon receiving a positive response within asecond predetermined period to a query for whether the authenticationkey is required, checking the external USB storage device to determinewhether the USB storage device stores data indicating that it is of apredetermined identity and, if the external USB storage device is of thepredetermined identity, allocating the authentication key to theexternal USB storage device, wherein access to either the host computeror the network is restricted to certain applications or certain data ofthe host computer or the network for a correct authentication key, therestrictions being created in accordance with the predetermined identitywhen the correct authentication key is allocated.
 2. A method as claimedin claim 1, wherein the correct authentication keys are maintained inthe lookup table maintained in one of: the host computer, and a serverof the network to which the host computer is connected.
 3. A method asclaimed in claim 1, wherein the authentication key is restricted by atleast one selected from the group consisting of: a particular user, aparticular host computer, a particular terminal of the network to whichthe host computer is connected.
 4. A method as claimed in claim 3,wherein the particular user is determined by user login code, theparticular host computer is determined by host computer identity, andthe particular terminal of the network is determined by network terminalidentity.
 5. A method as claimed in claim 4, wherein the user logincode, the host computer identity, and the network terminal identity arestored in the lookup table.
 6. A method as claimed in claim 1, whereinthe predetermined identity includes at least one selected from the groupconsisting of: external USB storage device identity, user identity, hostcomputer identity, and network terminal identity.
 7. A method as claimedin claim 1, wherein an authentication module is downloaded to theexternal USB storage device before the authentication key is sent to theexternal USB storage device.
 8. A method as claimed in claim 1, whereinallocation of the authentication key is by an administrator.
 9. A systemto authenticate an external USB storage device connected to a port of ahost computer on a network by use of a connector of the external USBstorage device, the external USB storage device comprising anauthentication module to communicate with an authentication applicationof the host computer; the authentication module comprising anauthentication key for sending to the authentication application forauthentication of the external USB storage device with correctauthentication keys being maintained in a lookup table, the lookup tablealso including restrictions, the restrictions being for access to atleast one of: applications, data, and network, wherein access to eitherthe host computer or the network is restricted to certain applicationsor certain data of the host computer or the network for a correctauthentication key, the restrictions being created in accordance with apredetermined identity when the correct authentication key is allocatedto the external USB storage device within a first predetermined period,and when an authentication is not provided within the firstpredetermined period, allocating the authentication key to the externalUSB storage device that does not have the authentication key uponreceiving a positive response within a second predetermined period to aquery for whether the authentication key is required, checking theexternal USB storage device and, if the external USB storage device isof the predetermined identity, allocating the authentication key to theexternal USB storage device.
 10. A system as claimed in claim 9, whereinthe host computer conducts an authentication handshake with the externalUSB storage device seeking the authentication key from the externalstorage device.
 11. A system as claimed in claim 9, wherein correctauthentication keys are maintained in the lookup table maintained in oneof: the host computer, and a server of the network to which the hostcomputer is connected.
 12. A system as claimed in claim 11, wherein theauthentication key is restricted by at least one selected from the groupconsisting of: a particular user, a particular host computer, aparticular terminal of the network to which the host computer isconnected.
 13. A system as claimed in claim 12, wherein the particularuser is determined by user login code, the particular host computer isdetermined by host computer identity, and particular terminal of thenetwork is determined by network terminal identity.
 14. A system asclaimed in claim 13, wherein the user login code, the host computeridentity, and the network terminal identity are stored in the lookuptable.
 15. A system as claimed in claim 11, wherein the authenticationkey is allocated by an administrator.
 16. A system as claimed in claim9, wherein the predetermined identity includes at least one selectedfrom the group consisting of: external USB storage device identity, useridentity, host computer identity, and network terminal identity.